package io.renren.modules.app.utils;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

@Component
public class FileUploadUtil {

    @Value("${file.filelocation.url}")
    private String fileLocationUrl;

//@PostConstruct
    // 初始化方法，在bean初始化后调用
    public String saveFile(MultipartFile file) throws IOException {
        // 获取文件名
        String fileName = file.getOriginalFilename();
        // 创建日期格式化对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
        // 获取当前时间，并拼接文件名
        String newFileName = sdf.format(new Date()) + fileName.substring(fileName.lastIndexOf('.'));
        // 去除fileLocationUrl中的 'file:' 前缀
        String fileDir = fileLocationUrl.replace("file:", "");
        // 完整的文件系统路径
        String fullPath = fileDir + newFileName;
        // 保存文件到文件系统
        FileOutputStream fos = new FileOutputStream(fullPath);
        fos.write(file.getBytes());
        fos.flush();
        fos.close();
        // 返回相对路径和文件名
        return "/upload/" + newFileName;
    }
//    String fileName = file.getOriginalFilename();
//    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
//
//    String  path = sdf.format(new Date())+fileName.substring(fileName.lastIndexOf('.'));
//
//    String url = req.getSession().getServletContext().getRealPath("/");
//
//       System.out.println(url);
//    String imgpath="D:\\fileupload/"+path;
//       user.setPath(imgpath);
//    FileOutputStream fos = new FileOutputStream("D:\\fileupload/"+path);
//       fos.write(file.getBytes());
//       fos.flush();
//       fos.close();

//String fileName = file.getOriginalFilename();
//    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
//
//    String  path = sdf.format(new Date())+fileName.substring(fileName.lastIndexOf('.'));
//
//    String url = req.getSession().getServletContext().getRealPath("/");
//
//        System.out.println(url);
//    FileOutputStream fos = new FileOutputStream("D:\\fileupload/"+path);
//        fos.write(file.getBytes());
//        fos.flush();
//        fos.close();
}